A PLC includes a plurality of units, such as a CPU (Central Processing Unit) unit including a microprocessor, which executes a user program, an IO (Input Output) unit which receives a signal from an external switch or sensor and outputs a signal to an external relay or actuator, or the like. The PLC executes a control operation while exchanging data with these units via a PLC system bus and/or a field network in each execution cycle of the user program.
The control of operation of machines, equipment, etc. may include a motion control for controlling motor movement. Conventionally, such a motion control, typified by a control process (execution of a motion operation program) in which a command value is periodically output to a motor driver for driving the motor, has been performed in a motion controller that is provided separately from the PLC. However, in the field of information technology, the speed of microprocessors and communication networks is becoming higher and higher. Therefore, these technologies have enabled a single microprocessor to execute not only the user program but also the motion operation program in a PLC.
For example, Patent Document 1 (JP 2007-140655 A) describes a configuration in which a motion control function of controlling a motor and a PLC function of executing a sequence operation (user program) are processed by a single CPU. More specifically, “a fixed-cycle motion control process and axial processes” and “a high-speed sequence process” are executed in each cycle of a basic clock, and “a low-speed sequence process” or “a non-fixed-cycle motion control process” is executed in the remainder of each basic clock cycle.